The accurate portrayal of images which contain more than two gray levels, for example photographs, with an imaging device which can only generate only two levels, black and white, can be accomplished if the imaging device can produce dots which are too small for the eye to detect at normal viewing distance. This makes it possible to take advantage of the integrating tendencies of the eye and allow it to interpret some intermediate grade level based upon the percentage of black or white pixels over some small area of the image.
The gray level is established for each incoming image pixel by sampling the brightness of the image pixel and representing it as a binary eight-bit number, for example. Typically, for each sampled pixel, a decision must be made, based on the gray level, whether or not to print a dot. If the maximum gray level of a sampled pixel is 256, one may select the gray level 128 as the threshold for a print/no print decision. In more complex systems, the threshold is determined by the location of the pixel in the image in accordance with some sort of threshold matrix. Various types of threshold matrices are well-known in the art, such as the concentrated dot matrix and the diffused dot matrix, both described in Kawamura, "Image Processing for Half Tone Reproduction" Denshi Shashin Gakkai-shi (Electrophotography), Vol. 24, No. 1, 1985, pp. 51-59. Their properties are well understood and need not be described here.
Quantization error limits the quality of the reproduced image. Specifically, the input pixel gray level may exceed the threshold where decision to print a dot has been made or may exceed zero while falling below the threshold where a decision to not print has been made. The error in the former case is the amount by which the incoming pixel gray level differs from the black or white print value. In the latter case, the error is the difference by which the incoming pixel gray level exceeds zero. Such an error represents incoming image information which has been essentially discarded by the simple "print/no print" decision process. This problem always exists whenever a bi-tonal system must represent a multiple gray level image.
This fundamental problem has been ameliorated significantly by a technique known as error diffusion, first described in Floyd N. Steinberg, "An Adaptive Algorithm for Spatial Gray Scaling", The Proceedings of SID, Vol. 17/2 (1976). In this technique, the error generated by the print/no print decision of a given pixel, rather than being simply discarded, is used to modulate the value of the next incoming pixel gray level. The primary advantage of this technique is its ability to impart a large number of gray levels in the reproduced image. It performs especially well in the presence of very fine details in the image.